AWS Lambdaがarm64アーキテクチャをサポートしました
arm64アーキテクチャをサポートしたAWS Lambda。 従来のx86_64アーキテクチャより34%のコスト効率よく利用できるとされている事について確かめてみました。
AWSチームのすずきです。
AWS Lambda が arm64アーキテクチャの AWS Graviton2 processor をサポートするアップデートがありました。
アーキテクチャの選択
AWSコンソールを利用したLambda関数の作成時、アーキテクチャとして「arm64」、「x86_64」の選択が可能になりました。
料金
arm64アーキテクチャのLambda、x86_64と比較し 約20%廉価な実行時間の設定となっています。
- Lambda 実行時間に対する料金(1ms)
Memory (MB) | x86_64 料金 | arm64 料金 |
---|---|---|
128 | 0.0000000021 | 0.0000000017 |
512 | 0.0000000083 | 0.0000000067 |
1024 | 0.0000000167 | 0.0000000133 |
1536 | 0.0000000250 | 0.0000000200 |
2048 | 0.0000000333 | 0.0000000267 |
3072 | 0.0000000500 | 0.0000000400 |
4096 | 0.0000000667 | 0.0000000533 |
5120 | 0.0000000833 | 0.0000000667 |
6144 | 0.0000001000 | 0.0000000800 |
7168 | 0.0000001167 | 0.0000000933 |
8192 | 0.0000001333 | 0.0000001067 |
9216 | 0.0000001500 | 0.0000001200 |
10240 | 0.0000001667 | 0.0000001333 |
- 東京リージョン、料金単価はUSドル
性能比較
単純なループ処理のみ行うPythonコードを用意。その実行時間の比較を試みました。
def lambda_handler(event, context): i = 0 while i < 1000000: i += 1
- ランタイム: Python3.9
- メモリ割り当て: 128MB
結果
arm64アーキテクチャのLambda、x86_64と比較し約13%高速でした。
- arm64
Duration: 830.96 ms Billed Duration: 831 ms Memory Size: 128 MB Max Memory Used: 36 MB
-
x86_64
Duration: 950.43 ms Billed Duration: 951 ms Memory Size: 128 MB Max Memory Used: 37 MB
まとめ
arm64アーキテクチャの AWS Lambda、x86_64と比較してコスト効率の良い利用が期待できます。
x86_64 アーキテクチャに依存しないLambda関数を利用する場合には、arm64アーキテクチャもお試しください。